var indiceAtual = 1;
var idAtual;
var ytplayer;
var params = { allowScriptAccess: "always" };
var atts = { id: "myytplayer" };
var tleTimer;
var onEndReloadPage=false;
function onYouTubePlayerReady(playerId) {
	//alert("ready");
	ytplayer = document.getElementById("myytplayer");
	ytplayer.addEventListener("onStateChange", "statusAlterado");
	marcar(lista[0].videoId);
	tleTimer=setTimeout("proximo()",getTLE());
}
function getTLE(){
	try{
		return parseInt($("#TLE").val())*1000;
	}catch(e){
		return 15000;
	}
}
function statusAlterado(newState) {
	$("#info").text("state = " + newState);
	if(parseInt(newState)==0){//acabou o video
		proximo();
		tleTimer=setTimeout("proximo()",getTLE());
	}else if(parseInt(newState)==1){//tocando
		try{
			clearTimeout(tleTimer);
		}catch(e){}
	}
}
function cadastrar(f){
	var codigo;
	var inicio="watch?v=";
	var fim="&";
	var ok=false;
	codigo = f.youtubeUrl.value;
	var i = codigo.indexOf(inicio);
	if(i!=-1){//achou o inicio
		var fim = codigo.indexOf(fim,i);
		var videoId="";
		if(fim!=-1){
			videoId = codigo.substring(i+inicio.length,fim); 
		}else{
			videoId = codigo.substring(i+inicio.length); 
		}
		if(videoId!=""){
			salvarAjax(videoId);
			ok=true;
		}
	}
	if(!ok){
		alert("Erro: sem id.");
	}
	return false;
}
function Video(nome,id){
	this.titulo = nome;
	this.videoId = id;
}
function salvarAjax(videoId){
	$.ajax({
		type: "POST",
		url: "incluirVideo.php",
		data: "videoId=" + videoId,
		success: function(msg){
			var res = eval("(" + msg + ")");
			alert(res.msg);
			if(res.ok){
				//atualizar o titulo
				$("#" + videoId + ">a.title").text(res.video.titulo);
				criarLi(videoId,res.video.titulo);
				lista.push(new Video(res.video.titulo, videoId));
			}
		}
	});
}
function apagar(videoId){
	$.ajax({
		type: "POST",
		url: "apagarVideo.php",
		data: "videoId=" + videoId,
		success: function(msg){
			alert( "Data Deleted: " + msg );
		}
	});
	$("#"+videoId).remove();
}
function play(videoId){
	ytplayer.loadVideoById(videoId);
	marcar(videoId);
	idAtual = videoId;
	return false;
}
function carregarLista(){
	var i;
	for(i=0;i<lista.length;i++){
		criarLi(lista[i].videoId,lista[i].titulo);
	}
}
function criarLi(videoId,titulo){
	$("#lista").append("<li id=\""+videoId+"\"><a href=\"javascript:apagar('" + videoId + "');\"> <img src=\"images/delete.gif\" alt=\"Exluir\" /></a> <a href=\"#\" onclick=\"return play('"+videoId+"')\" class=\"title\">"+titulo+"</a> </li>");
}
function marcar(videoId){
	var ul = document.getElementById("lista");
	var lis = ul.getElementsByTagName("li");
	for(var i=0;i<lis.length;i++){
		lis[i]["style"].backgroundColor="#fff";
	}
	var li = document.getElementById(videoId);
	li["style"].backgroundColor="#ff5";
}
function proximo(){//navegar pelo dom
	
	$("#doAmigo").text(":-)");
	try{
		// Somar os pontos
		var yourSelf = parseInt($("#yourSelf").val());
		var total = yourSelf;
		var gogogo = true;
		
		var amigos = $("#listaAmigos").children();
		for(var i=0;i<amigos.length;i++){
			total+=parseInt($(amigos[i]).children("input").val());
		}
		//alert("Total = " + total);
		//Math.floor(Math.random()*11) (0 a 10)
		var sorteado = Math.floor(Math.random()*total);
		sorteado-=yourSelf;
		if(sorteado>=0){
			for(var i=0;i<amigos.length;i++){
				sorteado-=parseInt($(amigos[i]).children("input").val());
				if(sorteado<0){
					$.get("amigo-video.php", 
						{id:$(amigos[i]).children("input")[0].name.replace("amigo_","")},
						function(data){
							var res = eval("("+data+")");
							if(res.ok){
								//alert("ytplayer.loadVideoById('"+res.videoId + "')");
								setTimeout("ytplayer.loadVideoById('"+res.videoId + "')",500);
								$("#doAmigo").text("do amigo " + res.nomeAmigo);
								$("#doAmigo").append(" - <a href=\"http://www.youtube.com/watch?v="+res.videoId+"\">Ver no YouTube</a>");
								$("#doAmigo").append(" - <a href=\"#TryAgain\" onclick=\"ytplayer.loadVideoById('" + res.videoId + "')\">Try Again</a>");
								$("#doAmigo").append(" - <a href=\"#add\" onclick=\"salvarAjax('" + res.videoId + "')\" title=\"Adicionar, yeah!\">[+]</a>");
								$("#doAmigo").append(" - <a href=\"#add\" onclick=\"apagar('" + res.videoId + "')\" title=\"Nunca mais!\"><img src=\"images/delete.gif\" alt=\"Exluir\" /></a>");
								gogogo=false;
							}else{
								$("#doAmigo").html(res.msg);
							}
						}
					);
					break;
				}
			}
		}
	}catch(e){
		alert(e.message);
	}
	if(gogogo){
		//simplificando com o jQuery
		var next = $("#"+idAtual).next();
		if(next.length==0){
			if(onEndReloadPage){
				document.location.href="?norefresh="+new Date().getTime();
			}else{
				var lista = $("#lista").children();
				play(lista[0].id);
			}
		}else{
			play(next[0].id);
		}
		
	}
}
function voltar(){
	var back = $("#"+idAtual).prev();
	if(back.length==0){
		if(onEndReloadPage){
			document.location.href="?norefresh="+new Date().getTime();
		}else{
			var lista = $("#lista").children();
			play(lista[lista.length-1].id);
		}
	}else{
		play(back[0].id);
	}
}
function newUsuario(frm){
	$.post("cadastro.php", ({nome: frm.nome.value, email: frm.email.value, senha: frm.senha.value}),
		function(data){
			alert("Data Loaded: " + data);
		}
	);
	return false;
}
function login(frm){
	$.post("login.php", {email: frm.email.value, senha: frm.senha.value},
		function(data){
			alert("Data Loaded: " + data);
		}
	);
	return false;
}
function parseResBusca(data){
	var res = eval("(" + data + ")");
	if(parseInt(res.total)==0){
		$("#buscaPg").html("Nenhum resultado encontrado. :-(");
	}else{
		for(var i=0;i<res.vs.length;i++){
			$("#buscaRes").append("<li id=\""+res.vs[i].videoId+"\"><a href=\"#\" onclick=\"return play('"+res.vs[i].videoId+"')\" class=\"title\">"+res.vs[i].titulo+"</a> - <a href=\"javascript:salvarAjax('" + res.vs[i].videoId + "')\">[+]</a></li>");
		}
		$("#buscaPg").html(res.links.replace(/href="\/lab\//g,"onclick=\"return pg(this)\" href=\""));
	}
}
function pg(a){
	$("#buscaRes").html("");//loading?
	$.get(a.href,parseResBusca);
	return false;
}
function buscarAJ(frm){
	$("#buscaRes").html("");//loading?
	$.get("buscaAJ.php", 
		{vq: frm.vq.value, s: frm.s.value, i: frm.i.value},
		parseResBusca
	);
	return false;
}
function liAmigo(nome,id,pt){
	$("#listaAmigos").append("<li><input type=\"text\" name=\"amigo_" + id + "\" value=\"" + pt + "\" class=\"ptAmigo\">"+ nome +"</li>");
}
function amigo(frm){
	$.get("amigo.php", 
		{amigoMail: frm.amigoMail.value},
		function (data){
			var res = eval("(" + data + ")");
			if(res.ok){
				liAmigo(res.nome, res.id, 5);
			}else{
				$("#frmAmigo>fieldset>div.msg").html(res.msg);
			}
		}
	);
	return false;
}
$(document).ready(function(){
	carregarLista();
	idAtual=lista[0].videoId;
	swfobject.embedSWF("http://www.youtube.com/v/" + idAtual + "&enablejsapi=1&playerapiid=ytplayer&autoplay=1&rel=0", 
				   "ytapiplayer", "425", "356", "8", null, null, params, atts);
	
	//abre a pesquisa avancada
	$("#btnBuscaOpt").click(function(){
		if ($('#buscaOpt').is(':visible')){
			$("#buscaOpt").hide(500);
		}else{
			$("#buscaOpt").show(500);
		}
	});
	$("#buscaOpt").hide();
	
	//abre o login
	$("#btnEntrarOpt").click(function(){
		if ($('#entrarOpt').is(':visible')){
			$("#entrarOpt").hide(500);
		}else{
			$("#entrarOpt").show(500);
			$("#cadastraOpt").hide(500);
			$("#configOpt").hide(500);
			$("#cadVideoOpt").hide(500);
			$("#pesquisaOpt").hide(500);
		}
	});
	$("#entrarOpt").hide();
	
	//abre cadastro de usuario
	$("#btnCadastraOpt").click(function(){
		if ($('#cadastraOpt').is(':visible')){
			$("#cadastraOpt").hide(500);
		}else{
			$("#cadastraOpt").show(500);
			$("#entrarOpt").hide(500);
			$("#configOpt").hide(500);
			$("#cadVideoOpt").hide(500);
			$("#pesquisaOpt").hide(500);
		}
	});
	$("#cadastraOpt").hide();
	
	//abre configurações
	$("#btnConfigOpt").click(function(){
		if ($('#configOpt').is(':visible')){
			$("#configOpt").hide(500);
		}else{
			$("#configOpt").show(500);
			$("#entrarOpt").hide(500);
			$("#cadastraOpt").hide(500);
			$("#cadVideoOpt").hide(500);
			$("#pesquisaOpt").hide(500);
		}
	});
	$("#configOpt").hide();
	
	//abre cadastro de video
	$("#btnCadVideoOpt").click(function(){
		if ($('#cadVideoOpt').is(':visible')){
			$("#cadVideoOpt").hide(500);
		}else{
			$("#cadVideoOpt").show(500);
			$("#entrarOpt").hide(500);
			$("#cadastraOpt").hide(500);
			$("#configOpt").hide(500);
			$("#pesquisaOpt").hide(500);
		}
	});
	$("#cadVideoOpt").hide();
	
	//abre pesquisa
	$("#btnPesquisaOpt").click(function(){
		if ($('#pesquisaOpt').is(':visible')){
			$("#pesquisaOpt").hide(500);
		}else{
			$("#pesquisaOpt").show(500);
			$("#entrarOpt").hide(500);
			$("#cadastraOpt").hide(500);
			$("#configOpt").hide(500);
			$("#cadVideoOpt").hide(500);
		}
	});
	$("#pesquisaOpt").hide();
	
	$("#lista").sortable();
	try{
		carregarAmigos();
	}catch(e){}
	//$("#lista").disableSelection();
});
